
 var open_close = true // true or false, false = close the previous item_panel first when opening a new one 
 
  var height = 20; // height of the menu headers
  var iheight = 20; // height of the menu_items

  var bgc = "#D4DEE9" //"lightyellow" // background color of the item
  var tc = "black" // text color of the item

  var over_bgc = "#E7C8C8";
  var over_tc = "#000000";
  
  var speed = 0; // time between changing heigth of the item_panel
  var steps = 8; // changing heigth in steps of
	
  var timerID = "";
  var N = (document.all) ? 0 : 1;
  var width = 180
  var Vtext="";

  var self_menu = new Array();
var Vhref;
var prevnr = -1;
var prevc = -1;
var vprepare = "stop";
var step = 0;
var VhistoryMenuObj='down0';
var dontOpen=0;

function indicate(Vp1){
  Vla=Link[Vp1].split("|");
  parent.frames.sube.location=Vla[2];
  
  if (prevnr!=-1){prepare(prevnr,prevc);}
}

function write_menu()
{
  smc = 0; // count the position of the self_menu
  document.write("<div style='position:absolute'>");
  mn = 0;
  mni = 1;
  start = -1;

  for(i=0;i<Link.length;i++)
  {
   la = Link[i].split("|");
                           Vhref=la[2];
                           
   if (la[0] == "0")
   {
    if(start == 0)
     {
      document.write("</div>");
      h =  csmc * iheight;
      tmn = mn;
      self_menu[smc] = new Array(tmn,h,0,-2);
      smc++;
      mn--;
     }
     csmc = 0;

        if (la[2]){
          if (i==0){dontOpen=1;}
        document.write("<div class='menu' style='top:"+mn+";height:"+height+"' id='down"+smc+"' onmouseover='kontr();' onclick='indicate("+i+");onclickcolor(this.id);'><img src='images/arrow1.gif' width=6 height=8 >&nbsp;"+ la[1] + "</div>");
        }else{
        document.write("<div class='menu' style='top:"+mn+";height:"+height+"' id='down"+smc+"' onmouseover='kontr();' onclick='prepare("+smc+","+mni+");onclickcolor(this.id);'><img src='images/arrow1.gif' width=6 height=8 >&nbsp;"+ la[1] + "</div>");}
    self_menu[smc] = new Array(mn,height,0,mni);
    smc++;
    mni++;
    mn+=height;
    start = 1;
   }
   else
   {
    if(start == 1)
     {
      if(N)mn+=2;
       document.write("<div class='item_panel' id='down"+smc+"' style='top:"+mn+"'>");
       start = 0;
     }

    document.write("<a href='"+la[2]+"'");
    if (la[3] != "") document.write(" target='" + la[3] + "' ");
    document.write("><div valign='center'  class='item'  id='d"+i+"' style='height:"+iheight);
    if (N) document.write(";width");
    document.write("' onmouseover='color(this.id)' onmouseout='uncolor(this.id)'>&nbsp;&nbsp;"+ la[1] + "</div></a>");
    csmc++;
   }
  }
  if (start == 0)
   {
     document.write("</div>");
     h =  csmc * iheight;
     tmn = mn + 5;
     self_menu[smc] = new Array(tmn,h,0,-2);
     name = "down" + (self_menu.length-1);
     obj = document.getElementById(name);
     obj.style.borderBottomColor = "darkblue";
     obj.style.borderBottomWidth = 1;
     obj.style.borderBottomStyle = "solid";
   }
  document.write("</div>");
  document.getElementById(VhistoryMenuObj).style.backgroundColor='#E6B1B1';
}

var knt=0;
function kontr(){
if (hisobject){hisobject.style.backgroundColor = bgc;}
}

var object;
var hisobject;
var Vcolor = new Array();
Vcolor[0]='#D4DEE9';
Vcolor[1]='#D5DCE7';
Vcolor[2]='#D8DAE4';
Vcolor[3]='#D9D7DF';
Vcolor[4]='#DCD4DA';
Vcolor[5]='#DFD2D6';
Vcolor[6]='#E1CED2';
Vcolor[7]='#E4CCCE';
Vcolor[8]='#E6C9CB';
Vcolor[9]='#E7C8C8';
//-------------------------------//
/*
Vcolor[0]='#D4DEE9';
Vcolor[1]='#D5DBE5';
Vcolor[2]='#D7D6E0';
Vcolor[3]='#DAD1D8';
Vcolor[4]='#DCCBD1';
Vcolor[5]='#DEC5C9';
Vcolor[6]='#E1BEC1';
Vcolor[7]='#E3B9BB';
Vcolor[8]='#E5B5B5';
Vcolor[9]='#E6B1B1';
*/

var tm=0;
function color(obj)
{

if (hisobject){hisobject.style.backgroundColor = bgc;}
 //document.getElementById(obj).style.backgroundColor = over_bgc;
 document.getElementById(obj).style.color = over_tc;


object=document.getElementById(obj);
hisobject=document.getElementById(obj);
tm=0;
if (knt==0){
chngColor();}
}


function chngColor()
{
if (tm>9) {return false;}
object.style.backgroundColor = Vcolor[tm];

window.setTimeout("chngColor();", 35); 
tm++;

}

function uncolor(obj)
{
 document.getElementById(obj).style.backgroundColor = bgc;
 document.getElementById(obj).style.color = tc;
//  document.getElementById(obj).innerHTML=Vtext;
}

function onclickcolor(menObj){
if (hisobject){hisobject.style.backgroundColor = bgc;}
knt==1;
document.getElementById(VhistoryMenuObj).style.backgroundColor='#E4F1FF';
document.getElementById(menObj).style.backgroundColor='#E6B1B1';
VhistoryMenuObj=menObj;

}

function prepare(nr,c)
{ 
 if (open_close)
 {
  if(prevnr == -1)
  {
   if(self_menu[nr+1][2] == 0)
   {
   prevnr = nr;
   prevc = c;
   }
   else
   {
   prevnr = -1;
   prevc = -1;
   }
   step = 0;

   pull_down(nr,c);
  }
  else
  {
  if((step == 0) && (prevnr != -1))
  {
    if (self_menu[nr+1][2] == 1)
    {
     step = 0;
     prevnr = -1;
     prevc = -1;

     pull_down(nr,c);
    }
    else
    {
    step = 1;
         
    pull_down(prevnr,prevc);
    prevnr = nr;
    prevc = c;
    }
  }
  else
  {
    step = 0;

    pull_down(prevnr,prevc);
    
  }
 }}
 else {pull_down(nr,c);vprepare = "stop"}
}

function end_prepare()
{
 if (step == 1) prepare();
 else {if (timerID != "") clearTimeout(timerID);}
}

function pull_down(nr,c)
{

 if (timerID == "")
 {
 to = self_menu[nr+1][1]
 begin = nr + 2;
 if (timerID != "") clearTimeout(timerID);
 if (self_menu[nr+1][2] == 0)
 {
  self_menu[nr+1][2] = 1;
  if(nr == self_menu.length-2) {to++;}
  epull_down(begin,to,0);
 }
 else
 {
  to = 0;
  self_menu[nr+1][2] = 0;
  name = "down"+(nr+2);
  open_item = 0;
  for(i=0;i<nr;i++)
  {
   if(self_menu[i][2] == 1)
    {open_item += self_menu[i][1];
    }
  }
  if (N == false) {open_item-= (c*1)};
  if (nr== self_menu.length-2) {val = self_menu[self_menu.length-1][1];to=-1;}
  else  val = parseInt(document.getElementById(name).style.top) -(open_item)-(c*height);

  epull_up(begin,to,val);
 }
 }
}

function epull_down(nr,to,nowv)
{
 if((nowv + steps) >= to) {vsteps = to - nowv;}
 else {vsteps = steps;}
 name = "down" + (nr-1);
 obj = document.getElementById(name).style.clip = "rect(0,"+width+","+(nowv+vsteps)+",0)";
 for (i=nr;i<self_menu.length;i++)
 {
  name = "down" + i;
  obj = document.getElementById(name);
  obj.style.top = parseInt(obj.style.top)+vsteps;
 }
 nowv+=vsteps;
 if(nowv < to) timerID = setTimeout("epull_down("+nr+","+to+","+nowv+")",speed);
 else {timerID = "";if(startid != "stop") open_all(); else end_prepare()}
}

function epull_up(nr,to,nowv)
{
 if((nowv-steps) <= to) {vsteps = nowv-to;nowv = 0;if(to == -1) vstep = nowv}
 else {vsteps = steps;}
 name = "down" + (nr-1);
 obj = document.getElementById(name).style.clip = "rect(0,"+width+","+nowv+",0)";
 for (i=nr;i<self_menu.length;i++)
 {
  name = "down" + i;
  obj = document.getElementById(name);
  obj.style.top = parseInt(obj.style.top)-vsteps;
 }
 nowv-=vsteps;
 if(nowv > to) timerID = setTimeout("epull_up("+nr+","+to+","+nowv+")",speed);
 else {timerID = "";end_prepare();}
}

var lb = new Array();

function startup(nr)
{


 write_menu();
 
if (dontOpen==0){

 if(nr)
 {
 if(((nr.indexOf("|") != -1) || (nr.indexOf("all") != -1)) && (open_close == true)) alert("Error: the open_close property can only be used with a maximum of 1 default item.");
 if (nr == "all")
 {
 j = 0;
 for(i=0;i<self_menu.length;i++)
 {
  if(self_menu[i][3] != -2) {lb[j] = self_menu[i][3];j++;}
 }
 }
 else
 {
 lb = nr.split("|");
 }
 open_all();
 }
 else startid = "stop";
}

}

var startid = 0;
var open_part = 0;


function open_all()
{

 startid = lb[open_part];
 for(i=0;i<self_menu.length;i++)
 {
  if(self_menu[i][3] == startid) 
  {
  open_part++;
  prevnr = i;
  prevc = startid;
  
  pull_down(i,startid);
  i==self_menu.length;

  }
 }
 if(open_part == lb.length) startid = "stop";
 
}


